eventcontrollerscroll: Conditionally propagate ::scroll
authorErnestas Kulik <ernestask@gnome.org>
Wed, 18 Jul 2018 13:34:39 +0000 (16:34 +0300)
committerErnestas Kulik <ekulik@redhat.com>
Mon, 12 Nov 2018 09:35:37 +0000 (10:35 +0100)
commitedc4b2f7d0026c4c43c9fc1154fc39b7b69ec471
tree23f84f39dad7217ae325df484a5c79e7a541a2d2
parentc2c1acc73ee7bed81339950698c8b30fe1dd40ed
eventcontrollerscroll: Conditionally propagate ::scroll

Currently, gtk_event_controller_scroll_handle_event() always returns
TRUE if it is handled, which stops the propagation of the event. If
there’s a single GtkEventControllerScroll in the widget hierarchy, that
means that no others will run, depending on the propagation phase. In
Nautilus, this can be observed when adding a scroll controller to the
GtkScrolledWindow (ctrl-scrolling controls the zoom level) - either the
scrolling or the zooming breaks.

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/45
gtk/gtkcalendar.c
gtk/gtkcombobox.c
gtk/gtkeventcontrollerscroll.c
gtk/gtkmarshalers.list
gtk/gtkmenu.c
gtk/gtkpathbar.c
gtk/gtkrange.c
gtk/gtkscalebutton.c
gtk/gtkscrolledwindow.c
gtk/gtkspinbutton.c
gtk/gtktreeview.c